1. Field of the Invention
The present invention is related to a method to remote boot a diskiess computer, and more particularly to a remote boot technique that intercepts the disk interrupt requests, converts these requests to TCP/IP packets, and sends the packets to a remote boot server and deriving an operating system (OS) to boot a local computer.
2. Description of Related Art
An operating system (OS) is a software program that is used to manage the operation of all components in a computer system, and provides an operation platform through which users are able to control a variety of software and hardware. For instance, users can access data stored in hard disks, or design an application program to be executed by a central processor and then have the operation results displayed on a monitor screen.
When the personal computer is activated, the computer needs a special program, called a boot loader, which is directed by the BIOS (Basic Input Output System), to initialize the OS. Thereafter, the operating system can take full control of all components in the computer.
Computer users or managers have to spend a considerable amount of time learning how to use the personal computers and manage all the resources in the computers. Large enterprises are concerned with drastic costs of the system down time and the failure rate, and so the system installation and maintenance have become a daunting task in day-to-day operation of the information processing department. Without proper maintenance, all kinds of problems may occur.
System designers came up with a server-client configuration, where the server end had a hard disk large enough for holding the operating system, application programs and user data. In the aspect of the client station, each client station can individually boot the OS without any disk devices. It is noted that application programs are downloaded from the server end and independently executed in each client station resulting in higher operating efficiency. Further, because the client stations do not need physical disk devices (hard disk drives), the failure possibility of hardware can be reasonably reduced. Since the OS and application programs for client stations had been installed in the server end, users can simply operate computers just by activating thc power even though they are not familiar with any installation skill of the OS. Such a server-client configuration may be more suitable for large enterprises, schools and home users.
This remote boot technique was first introduced by Novell Inc. However, the remote boot was only limited to terminal mode and the text operation mode at that time. While the users controlled the computer operation through keyboard input, the application programs were actually executed in the main server. As a result, the system efficiency is inversely proportional to the amount of client stations being connected on line.
Later, Novell Inc. introduced the RPL (Remote Program Load) system and Intel Corporation also put out a PXE (Pre-boot eXecution Environment) system, both using remote boot technology and able to support graphic mode operation.
The main objective of the present invention is to provide a method to remotely boot a diskless computer over wide area network (WAN), including a local area network.
However, the biggest problem of the above RPL and PXE systems is that these systems can only be operated in a local area network (LAN) environment. The RPL system relied on data broadcasts through the network to find a boot server, and the PXE system used a DHCP (Dynamic Host Configuration Protocol) to obtain the necessary IP address and then use that to make connection to the server. But when the target server is beyond the limits of a network router or a virtual local area network (VLAN), an agent/proxy server or a transparent router is needed to enable the personal computer to access the boot server from a different network. However, the addition of either the proxy server or transparent router will add to the equipment cost and slow down the system performance.
RPL and PXE systems need to work with the operating system to produce the image files. When the personal computer is turned on, the BIOS or the Option ROM on a network interface card is initiated to use Trivial File Transfer Protocol (TFTP) to download the necessary image files from the boot server. The operating system can only be initialized once the image files are ready, and then the remote network connection program can be started. However, the image files have to meet the special requirements of different operating systems, for instance, different languages.
The conventional remote boot only provides the basic network connection function, without the error recovery and data restoration functions. Therefore, the chance of data loss in transmission is increased. When errors are detected during transmission of image files in the network connection mode, the complete image file needs to be resent, thus the system performance is slowed down.
In a conventional remote boot, both the server and the personal computer are controlled by the network file system (NFS). Even though the personal computer may create a network disk, the network disk still employs file-oriented data exchange. When the user needs a certain file, an access request is first passed through the operating system to a file system layer to convert to the disk instruction. Then, a network file system layer encapsulates the disk instruction in the TCP/IP packet and then sends the packet to the server through the network interface. When the server receives the disk instruction packet, the packet is passed to the file system layer to find the corresponding network disk, and after unpacking the packet format the disk instruction is passed to the actual disk where the requested file is stored and the disk read instruction is executed to get the data from a predetermined file block. However, the whole process has to go through many data conversion processes, which is a waste of the system resources. As described above, the conventional remote boot technique still has drawbacks needed to be solved.